主題
依數學公式或演算法做資料格式轉換(Conversion of data),由明文改為密文
其目的是為了防止輕易的被猜測或取得
案例
Heartbleed:
OpenSSL 弱點 CVE-2014-0160,利用 OpenSSL 利用 SSL/TLS in RFC6520
利用網路上的交易,若當下有人進行刷卡,登入憑證、信用卡卡號…利用Buffer Overflow 取得私鑰(Private Key),而導致前 64KB 露出明碼機敏資訊。(更新OpenSSL 1.0.1g以上無此弱點)
Poodlebleed:
並非SSL憑證的弱點,屬利用中間人攻擊(MITM)利用舊版瀏覽器降版的弱點解密Cookie,竊取線上的機敏訊息。
存在於SSL 3.0的弱點,建議更新至TLSv1.2或更高版本 (CVE-2014-3566)
類型
分對稱式及非對稱式兩種。
對稱式代表加密與解密均為相同密鑰,非對稱式為一組公鑰與私鑰。
對稱式使用上解密較快速;非對稱式使用上較為安全。
對稱式(Symmetric):DES、AES、3DES、DESX、Blowfish、IDEA、RC4、RC5、RC6
DES(Data Encryption Standard):封包分段加密,速度快,適用於大量資料加密,分段使用 56 bit,由於金鑰過短,故易於破解,故後續進階為AES
AES(Advanced Encryption Standard):高階分段加密,以128 bit、192或256位的金鑰做加密,較為安全。
3DES:使用3種不同密鑰對相同的資料進行3次加密,安全性更高。
RC4:Rivest Cipher 4,是一種流加密算法,密鑰長度可變。它加解密使用相同的密鑰,因此也屬於對稱加密算法。RC4是有線等效加密(WEP)中採用的加密算法,也曾經是TLS可採用的算法之一。
RC5:RC5具有可變塊大小(32\64\128位元)
RC6:使用RC5加上整數乘法,並實現4個4位工作暫存器,而不是RC5的2個2位暫存器
非對稱式(Asymmetric):RSA、DSA、ECC、Diffie-Hellman、El Gamal
RSA (Rivest Shamir Adleman):發明者的名字命名,公鑰和私鑰都是兩個大質數的函數
DSA (Digital Signature Algorithm):DSA 的一個重要特點是兩個質數公開,這樣,當使用別人的公鑰時,即使不知道私鑰,你也能確認它們是否是隨機產生的,還是作了手腳,RSA 算法卻作不到。
RSA 與 DSA 比較:
ECC (Elliptic Curves Cryptography):橢圓曲線算法
DH (Diffie-Hellman):
允許兩名用戶在公開媒體上交換資料以生成"一致"的、可以共享的密鑰。換句話說,就是由甲方產出一對密鑰(公鑰、私鑰),乙方依照甲方公鑰產生乙方密鑰對(公鑰、私鑰)。以此為基準,作為數據傳輸保密基礎,同時雙方使用同一種對稱加密算法構建本地密鑰(SecretKey)對數據加密。這樣,在互通了本地密鑰(SecretKey)算法後,甲乙雙方公開自己的公鑰,使用對方的公鑰和剛才產生的私鑰加密數據,同時可以使用對方的公鑰和自己的私鑰對資料解密。不單單是甲乙雙方兩方,可以擴展為多方共享數據通訊。
Hash:HAVAL、SHA、SHA-1、HMAC、HMAC-MD5、HMAC-SHA1
單向雜湊函數(one way hash function):MD2、MD4、MD5
接收任意長度的位元組,並產生唯一的固定長度(128 bit),這個過程是單向的不能再由簽名反向產生訊息,並且其數質是唯一的。
MD2
MD4
MD5
SHA1
SHA2
SHA3
SSH (Secure Shell):
建立在應用層和傳輸層上的安全協定,提供加密通道供遠端傳輸。
透過 SSH 可以對所有傳輸的數據進行加密,也能夠防止 DNS 欺騙和 IP 欺騙。
公開金鑰基礎建設(Public Key Infrastructure,PKI)
一組由硬體、軟體、參與者、管理政策與流程組成的基礎架構,其目的在於創造、管理、分配、使用、儲存以及撤銷數位憑證
對「資料身分識別」、「交易資料完整」、「交易不可否認」或「保密」等其中之一有所需求,就可以使用 PKI,日常生活中會接觸到的PKI應用還包括網路報稅、電子郵件加密簽名、線上購物系統等…
E-Mail 加密
硬碟加密
保密(Confidentiality)
加密(Encryption)
保護(Protection)
相關工具:
加密攻擊
只知密文破解 (Ciphertext Only Attack):藉由所有可能的密文以找出明文或金鑰。
已知明文破解 (Known Plaintext Attack):藉由已知的明文與找出對應的演算法找出對應的密文取得金鑰。
選擇明文破解 (Chosen Plaintext Attack):利用特殊方法將明文發送給傳送端,再由傳送者取得加密後的密文 (即破解者可以控制明文與其相對應的密文) ,以找出加密金鑰。
選擇密文破解 (Chosen Ciphertext Attack):利用特殊方法將密文發送給接收端,再由接收者取得解密後的明文(即破解者可以控制密文與其相對應的明文) ,以找出加密金鑰。
選擇金鑰攻擊(Chosen-key attack):
自適應選擇明文攻擊(Adaptive chosen-plaintext Attack):
時序攻擊(Timing attack):即時回應造成資源消耗,進而暴露機敏資訊。
軟磨硬泡攻擊(Rubber hose attack):威脅、勒索,或者折磨某人,直到他給出密鑰為止。//考古題出過
暴力破解(Brute-Force Attack):嘗試所有可能的密碼組合來破解密碼。
中途攻擊(Meet-in-the-Middle):藉以取明文與密文之間的變化去取得演算法的內容
工具
分析工具:
加密工具:
Mobile 加密工具:
考題相關
網路安全-實務與理論(第二版):http://crypto.nknu.edu.tw/textbook/chap5.pdf
宅學習-使用金鑰登入 SSH:https://sls.weco.net/blog/jeffean/30-oct-2009/13652
壹讀-加密與解密:https://read01.com/mNJE.html
RC4 :https://zh.wikipedia.org/zh-tw/RC4
RC5 :https://en.wikipedia.org/wiki/RC5